diff --git a/django/views/decorators/cache.py b/django/views/decorators/cache.py
index fdc5917738..5e54b8a184 100644
--- a/django/views/decorators/cache.py
+++ b/django/views/decorators/cache.py
@@ -29,11 +29,11 @@ def cache_control(**kwargs):
     def _cache_controller(viewfunc):
         @wraps(viewfunc)
         def _cache_controlled(request, *args, **kw):
-            if not isinstance(request, HttpRequest):
+            # Check for the attributes instead of type instance
+            if not hasattr(request, 'method') or not hasattr(request, 'get_full_path'):
                 raise TypeError(
-                    "cache_control didn't receive an HttpRequest. If you are "
-                    "decorating a classmethod, be sure to use "
-                    "@method_decorator."
+                    "cache_control didn't receive a compatible request object. "
+                    "The request object must have 'method' and 'get_full_path' attributes."
                 )
             response = viewfunc(request, *args, **kw)
             patch_cache_control(response, **kwargs)
@@ -48,10 +48,11 @@ def never_cache(view_func):
     """
     @wraps(view_func)
     def _wrapped_view_func(request, *args, **kwargs):
-        if not isinstance(request, HttpRequest):
+        # Check for the attributes instead of type instance
+        if not hasattr(request, 'method') or not hasattr(request, 'get_full_path'):
             raise TypeError(
-                "never_cache didn't receive an HttpRequest. If you are "
-                "decorating a classmethod, be sure to use @method_decorator."
+                "never_cache didn't receive a compatible request object. "
+                "The request object must have 'method' and 'get_full_path' attributes."
             )
         response = view_func(request, *args, **kwargs)
         add_never_cache_headers(response)
diff --git a/django/views/decorators/debug.py b/django/views/decorators/debug.py
index 312269baba..8d6c125ef3 100644
--- a/django/views/decorators/debug.py
+++ b/django/views/decorators/debug.py
@@ -77,11 +77,11 @@ def sensitive_post_parameters(*parameters):
     def decorator(view):
         @functools.wraps(view)
         def sensitive_post_parameters_wrapper(request, *args, **kwargs):
-            if not isinstance(request, HttpRequest):
+            # Check for the attributes instead of type instance
+            if not hasattr(request, 'POST'):
                 raise TypeError(
-                    "sensitive_post_parameters didn't receive an HttpRequest "
-                    "object. If you are decorating a classmethod, make sure "
-                    "to use @method_decorator."
+                    "sensitive_post_parameters didn't receive a compatible request object. "
+                    "The request object must have a 'POST' attribute."
                 )
             if parameters:
                 request.sensitive_post_parameters = parameters
